﻿<UserControl x:Class="MefBasic.UserControls.CollapsibleContainer"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:Converters="clr-namespace:MefBasic.Converters" Height="Auto" Width="Auto">
  <UserControl.Resources>
    <ResourceDictionary>
      <Polygon x:Key="LeftIcon" Points="0,0.5 1,0 1,1" Stretch="Fill">
        <Polygon.Fill>
          <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
            <GradientStop Color="#7A7A7A" Offset="0.0" />
            <GradientStop Color="#7A7A7A" Offset="0.25" />
            <GradientStop Color="#7A7A7A" Offset="0.75" />
            <GradientStop Color="#CFCFCF" Offset="1.0" />
          </LinearGradientBrush>
        </Polygon.Fill>
      </Polygon>
      <Polygon x:Key="RightIcon" Points="1,1 0,2 0,0"  Stretch="Fill">
        <Polygon.Fill>
          <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
            <GradientStop Color="#7A7A7A" Offset="0.0" />
            <GradientStop Color="#7A7A7A" Offset="0.25" />
            <GradientStop Color="#7A7A7A" Offset="0.75" />
            <GradientStop Color="#CFCFCF" Offset="1.0" />
          </LinearGradientBrush>
        </Polygon.Fill>
      </Polygon>
      <Polygon x:Key="DownIcon" Points="0.5,2 1,0 0,0" Stretch="Fill">
        <Polygon.Fill>
          <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
            <GradientStop Color="#7A7A7A" Offset="0.0" />
            <GradientStop Color="#7A7A7A" Offset="0.25" />
            <GradientStop Color="#7A7A7A" Offset="0.75" />
            <GradientStop Color="#CFCFCF" Offset="1.0" />
          </LinearGradientBrush>
        </Polygon.Fill>
      </Polygon>
      <Polygon x:Key="UpIcon" Points="0,1 1,1 0.5,0.5" Stretch="Fill">
        <Polygon.Fill>
          <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5">
            <GradientStop Color="#7A7A7A" Offset="0.0" />
            <GradientStop Color="#7A7A7A" Offset="0.25" />
            <GradientStop Color="#7A7A7A" Offset="0.75" />
            <GradientStop Color="#CFCFCF" Offset="1.0" />
          </LinearGradientBrush>
        </Polygon.Fill>
      </Polygon>
      <Converters:DirectionToVisibilityConverter x:Key="DirectionToVisibilityConverter" />
      <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5" x:Key="VerticalGradientBackground">
        <GradientStop Color="#ECECEC" Offset="0.0" />
        <GradientStop Color="#CFCFCF" Offset="0.25" />
        <GradientStop Color="#CFCFCF" Offset="0.75" />
        <GradientStop Color="#ECECEC" Offset="1.0" />
      </LinearGradientBrush>
      <LinearGradientBrush StartPoint="0.5,0" EndPoint="0.5,1" x:Key="HorizontalGradientBackground">
        <GradientStop Color="#ECECEC" Offset="0.0" />
        <GradientStop Color="#CFCFCF" Offset="0.25" />
        <GradientStop Color="#CFCFCF" Offset="0.75" />
        <GradientStop Color="#ECECEC" Offset="1.0" />
      </LinearGradientBrush>
    </ResourceDictionary>
  </UserControl.Resources>
  <DockPanel>
    <Border DockPanel.Dock="Left" x:Name="btnLeft"
              Width="8"
              BorderBrush="{x:Null}" BorderThickness="0,0,0,0" Background="{StaticResource VerticalGradientBackground}"
              Visibility="Collapsed" VerticalAlignment="Stretch">
      <Border Width="8" Height="50">
        <ContentPresenter x:Name="imgLeft" Width="{Binding ElementName=btnLeft, Path=Width}" HorizontalAlignment="Center" VerticalAlignment="Center" Cursor="Hand"/>
      </Border>
    </Border>
    <Border DockPanel.Dock="Top" x:Name="btnTop"
              Height="8"
              BorderBrush="{x:Null}" BorderThickness="0,0,0,0" Background="{StaticResource HorizontalGradientBackground}"
            Visibility="Collapsed">
      <Border Width="50" Height="8">
        <ContentPresenter x:Name="imgTop" Height="{Binding ElementName=btnTop, Path=Height}" HorizontalAlignment="Center" VerticalAlignment="Center" Cursor="Hand"/>
      </Border>
    </Border>
    <Border DockPanel.Dock="Right" x:Name="btnRight"
              Width="8"
              BorderBrush="{x:Null}" BorderThickness="0,0,0,0"  Background="{StaticResource VerticalGradientBackground}"
            Visibility="Collapsed">
      <Border  Width="8" Height="50">
        <ContentPresenter x:Name="imgRight" Width="{Binding ElementName=btnSbtnRighthowHide, Path=Width}" HorizontalAlignment="Center" VerticalAlignment="Center" Cursor="Hand"/>
      </Border>
    </Border>
    <Border DockPanel.Dock="Bottom" x:Name="btnBottom"
              Height="8"
              BorderBrush="{x:Null}" BorderThickness="0,0,0,0" Background="{StaticResource HorizontalGradientBackground}"
            Visibility="Collapsed">
      <Border Width="50" Height="8">
        <ContentPresenter x:Name="imgBottom" Height="{Binding ElementName=btnBottom, Path=Height}" HorizontalAlignment="Center" VerticalAlignment="Center" Cursor="Hand"/>
      </Border>
    </Border>
    <Border x:Name="contentContainer" BorderBrush="{x:Null}" BorderThickness="0,0,0,0">
      <Grid x:Name="contentHolder">
        <ContentControl x:Name="childContentControl" Width="Auto"></ContentControl>
      </Grid>
    </Border>
  </DockPanel>
</UserControl>
